#!/bin/bash

# 韩国金融系统后端在线环境启动脚本

echo "🚀 启动韩国金融系统后端服务（在线环境）..."

# 检查是否安装了PM2
if ! command -v pm2 &> /dev/null; then
    echo "❌ PM2 未安装，正在安装..."
    npm install -g pm2
fi

# 进入服务器目录
cd server

# 检查环境文件
if [ ! -f ".env" ]; then
    echo "❌ 错误: .env 文件不存在，请先配置环境变量"
    exit 1
fi

# 安装依赖
if [ ! -d "node_modules" ]; then
    echo "📦 安装后端依赖..."
    npm install
fi

# 运行数据库迁移（如果使用Prisma）
if [ -f "prisma/schema.prisma" ]; then
    echo "🗄️  运行数据库迁移..."
    npx prisma generate
    npx prisma db push
fi

# 创建日志目录
mkdir -p logs

# 停止现有进程（如果存在）
echo "🛑 停止现有后端进程..."
pm2 stop korea-financial-server 2>/dev/null || true
pm2 delete korea-financial-server 2>/dev/null || true

# 构建后端代码
echo "🔨 构建后端代码..."
npm run build

# 启动后端服务
echo "▶️  启动后端服务..."
pm2 start dist/server.js --name korea-financial-server --env production

# 保存PM2配置
pm2 save

# 设置开机自启
pm2 startup

echo "✅ 后端服务启动完成！"
echo ""
echo "🌐 后端API地址: http://localhost:3000"
echo ""
echo "📊 查看状态: pm2 status"
echo "📝 查看日志: pm2 logs korea-financial-server"
echo "🔄 重启服务: pm2 restart korea-financial-server"
echo "🛑 停止服务: pm2 stop korea-financial-server"